package com.bw.controller;

import com.alibaba.fastjson.JSON;
import com.bw.entity.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import javax.servlet.http.HttpServletRequest;

@Controller
public class UserController {


    /**
     * 用来接收请求的
     * HttpServletRequest 解析出客户端传来参数
     * @return
     */
    @RequestMapping("/user.do")   // 定义了请求的URL  ，URL在项目名中全局唯一
    public String user(HttpServletRequest request){

        String name = request.getParameter("name");
        System.out.println("name -----" + name);
        String password = request.getParameter("password");
        System.out.println("password -----" + password);
        return "user";  // 返回一个页面  这个页面存放在 view目录下
    }


    /**
     * 参数的绑定
     * 客户端发送来的数据 自动赋值到 方法的入参里
     * 1. 方法入参的变量名 和  浏览器发送的变量名一致
     * 用来接收请求的
     * @return
     */
    @RequestMapping("/user2.do")   // 定义了请求的URL  ，URL在项目名中全局唯一
    public String user2(String name, @RequestParam(value = "password1",defaultValue = "qwer") String password){
        System.out.println("user2.do   name -----" + name);
        System.out.println("user2.do    password -----" + password);
        return "user";  // 返回一个页面  这个页面存放在 view目录下
    }

    /**
     * 用对象来接收参数
     *  对象里的属性名 和 浏览器发送的参数名一致
     * @param user
     * @return
     */
    @RequestMapping("/user3.do")   // 定义了请求的URL  ，URL在项目名中全局唯一
    public String user3(User user){
        System.out.println("user3.do   user -----" + JSON.toJSONString(user));
        return "user";  // 返回一个页面  这个页面存放在 view目录下
    }
}
